// Aufgabe_8_4_Papierflieger

var flieger = []; // Das  Array flieger wird deklariert
var skalierung = 4.5; // Gibt die Größe einer Gitterzelle an

function setup() {
  createCanvas(750, 750, WEBGL); // 3D-Einstellung
  for (var x = 0; x < width; x++) {
    flieger[x] = []; // Ein geschachteltes Array wird erstellt (2D-Array)
    for (var y = 0; y < height; y++) {
    // Das zweidimensionale Array wird mit Werten gefüllt
    flieger[x][y] = 60-abs(x+y)-abs(x-y);
    }
  }
}

function draw() {
  background(0, 200, 255);
  stroke(180);

  // Mit der Maus kann der Papierflieger um die x- und y-Achse gedreht werden
  rotateX(-1.2+mouseY*0.01);
  rotateY(-0.5+mouseX*0.01);
  // Wenn eine Maustaste gedrückt wird, dreht sich der Papierflieger um die z-Achse
  if(mouseIsPressed){
    rotateZ(millis() / 10000);
  }

  for (var y = 0; y < 50-1; y++) {
    beginShape(TRIANGLE_STRIP);  // Zeichnet den flieger mithilfe von Dreiecken
      for (var x = 0; x < 50; x++) {
      // Die Farben werden mittels der x- und y-Werte festgelegt
      fill(255);
      vertex((x - 25) * skalierung, (y - 25) * skalierung, flieger[x][y] * skalierung);
      vertex((x - 25) * skalierung, (y - 25 + 1) * skalierung, flieger[x][y + 1] * skalierung);
    }
    endShape();
  }
}
